CREATE TABLE [dbo].[HierarchyRoot]
(
[RootHierarchyKey] [uniqueidentifier] NOT NULL,
[HierarchyRootName] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[HierarchyRootDescription] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[OrganizationKey] [uniqueidentifier] NOT NULL,
[AccessKey] [uniqueidentifier] NOT NULL,
[UniformType] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[CreatedOn] [datetime] NOT NULL CONSTRAINT [DF_HierarchyRoot_CreatedOn] DEFAULT (getdate()),
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[UpdatedOn] [datetime] NOT NULL CONSTRAINT [DF_HierarchyRoot_UpdatedOn] DEFAULT (getdate()),
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[HierarchyRoot] ADD CONSTRAINT [PK_HierarchyRoot] PRIMARY KEY CLUSTERED ([RootHierarchyKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_HierarchyRoot_AccessKey] ON [dbo].[HierarchyRoot] ([AccessKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_HierarchyRoot_CreatedByUserKey] ON [dbo].[HierarchyRoot] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_HierarchyRoot_OrganizationKey] ON [dbo].[HierarchyRoot] ([OrganizationKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_HierarchyRoot_UpdatedByUserKey] ON [dbo].[HierarchyRoot] ([UpdatedByUserKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[HierarchyRoot] ADD CONSTRAINT [FK_HierarchyRoot_AccessMain] FOREIGN KEY ([AccessKey]) REFERENCES [dbo].[AccessMain] ([AccessKey])
GO
ALTER TABLE [dbo].[HierarchyRoot] ADD CONSTRAINT [FK_HierarchyRoot_Hierarchy] FOREIGN KEY ([RootHierarchyKey]) REFERENCES [dbo].[Hierarchy] ([HierarchyKey])
GO
ALTER TABLE [dbo].[HierarchyRoot] ADD CONSTRAINT [FK_HierarchyRoot_Organization] FOREIGN KEY ([OrganizationKey]) REFERENCES [dbo].[OrganizationMain] ([OrganizationKey])
GO
ALTER TABLE [dbo].[HierarchyRoot] ADD CONSTRAINT [FK_HierarchyRoot_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[HierarchyRoot] ADD CONSTRAINT [FK_HierarchyRoot_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO